/****************************************************************************
 * Chariott - Continuous Integration Testing Tool
 * Zaid Mohsin
 * The University of York
 * 2012/2013
 * MSc in Information Technology
 * All rights reserved.
 ****************************************************************************/
package chariott.testing;

import java.io.File;
import java.util.ArrayList;

/**
 * abstract class that defines the methods necessary to add a script generator
 * object to ChARIOTT.
 * 
 * @author Zaid
 * 
 */
public abstract class ScriptGenerator {

	protected int numOfNodes;
	protected ArrayList<RunItem> itemsToRun;

	public ScriptGenerator(int numOfNodes, ArrayList<RunItem> itemsToRun) {

		this.numOfNodes = numOfNodes;
		this.itemsToRun = itemsToRun;
	}

	/**
	 * generate() returns an ArrayList of all the script Files generated from
	 * this class.
	 * 
	 * @return
	 */
	public abstract ArrayList<File> generate();

	/**
	 * outputs the generated script files to the FileSystem and returns a File
	 * object with the script descriptions
	 * 
	 * @return
	 */

	public File outputFile() {
		return null;
	}

	public int getNumOfNodes() {
		return numOfNodes;
	}

	public ArrayList<RunItem> getRunItems() {
		return itemsToRun;
	}

}
